﻿/**
 * 
 * @file WorkingDirDlg.h
 * @brief 工作路径对话框声明
 * @author LiBaojun (libaojunqd@foxmail.com)
 * @date 2024-10-13
 * 
 */
#ifndef _WORKING_DIR_DLG__H___
#define _WORKING_DIR_DLG__H___
 
#include "GUIFrameAPI.h"
#include "FITK_Kernel/FITKCore/FITKAbstractGUI.h"

namespace Ui
{
    class WorkingDirDlg;
}

namespace GUI
{
    /**
     * @brief 工作路径对话框
     * @author LiBaojun (libaojunqd@foxmail.com)
     * @date 2024-10-13
     */
    class GUIFRAMEAPI WorkingDirDlg : public Core::FITKDialog
    {
        Q_OBJECT
    public:
        /**
         * @brief Construct a new Working Dir Dlg object
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-13
         */
        explicit WorkingDirDlg(QWidget* parent= nullptr);
        /**
         * @brief Destroy the Working Dir Dlg object
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-13
         */
        virtual ~WorkingDirDlg();
        
    private slots:
        /**
         * @brief 浏览按钮点击事件
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-13
         */
        void on_BrowseButton_clicked();
        /**
         * @brief 确认按钮点击事件
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-13
         */
        void on_OKButton_clicked();
        /**
         * @brief 退出按钮点击事件
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-13
         */
        void on_QuitButton_clicked();
        
    private:
        /**
         * @brief 窗口初始化
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-13
         */
        void init();

    private:
        /**
         * @brief UI对象
         * @author LiBaojun (libaojunqd@foxmail.com)
         * @date 2024-10-13
         */
        Ui::WorkingDirDlg* _ui{};
    };
}


#endif
